#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <errno.h>

#define FIFO_PATH "./myfifo"
//本文件为写文件，键盘中读取并写入到命名管道中。

int main()
{
  umask(0);
  if(mkfifo(FIFO_PATH,0600)!=0)
  {
    printf(strerror(errno));
    return 1;
  }
  
  char arr[128] = {0};
  //文件是创建了，但是只是在磁盘中，没有被打开的,下面就是c语言的FILE操作了
  FILE* myfifo = fopen(FIFO_PATH,"w");
  while(1)
  {
     printf("请输入：");  
     fflush(stdout);
       
     fgets(arr,sizeof(arr)-1,stdin);//自动转换成为char*
     arr[strlen(arr)] ='\0';
     if(strcmp(arr,"quit\n")==0)
        break;
     fputs(arr,myfifo);
     fflush(myfifo);
  }
  unlink(FIFO_PATH);
  return 0;
}
